package com.tle.eventexample;

import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;

import com.tle.libs.CONSTANTS;
import com.tle.libs.UIUtilities;
import com.tle.libs.UIUtilities.ILanguage;

public class Setting extends BaseActivity
{

	////////////////////////////////////////////////////////////////////////////////////////////////////
	// Properties //
	////////////////////////////////////////////////////////////////////////////////////////////////////
	protected LinearLayout m_pnlMain;
	protected LayoutParams m_pnlMainLayoutParams;// = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
	
	protected Button m_btnSetLanguage;
	protected Button m_btnComeBack;
	
	protected Activity m_actvtyParent;
	////////////////////////////////////////////////////////////////////////////////////////////////////
																						// Properties //
	////////////////////////////////////////////////////////////////////////////////////////////////////
	
	
	
	
	
	////////////////////////////////////////////////////////////////////////////////////////////////////
	// Constructors, Support Methods and Override Methods //
	////////////////////////////////////////////////////////////////////////////////////////////////////
	@Override
	protected void setActivityTitle() 
	{
		this.setTitle(R.string.title_Setting);
	}
	
		
	
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);
		
		this.initGUI();
		this.registerEvent();
		
		this.m_actvtyParent = this.getParent().getParent();	
	}
	
	protected void initGUI ()
	{
		this.initComponentProperties();
		
		
		
		m_pnlMainLayoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
				
		
		
		m_pnlMainLayoutParams.leftMargin = m_pnlMainLayoutParams.rightMargin = CONSTANTS.MARGINS.M5.getValue();
		m_pnlMainLayoutParams.gravity = Gravity.CENTER_HORIZONTAL;
		
		
		
		m_pnlMain.addView(m_btnSetLanguage, m_pnlMainLayoutParams);
		m_pnlMain.addView(m_btnComeBack, m_pnlMainLayoutParams);
	}
	
	protected void initComponentProperties ()
	{
		m_pnlMain = new LinearLayout(this);
		m_pnlMain.setOrientation(LinearLayout.VERTICAL);
		this.setContentView(m_pnlMain);
		
		m_btnSetLanguage = new Button(this);
		m_btnSetLanguage.setText(R.string.Setting_btnSetLanguage);
		
		m_btnComeBack = new Button(this);
		m_btnComeBack.setText(R.string.const_btnComeBack);
	}
	
	
	
	
	
	protected void registerEvent ()
	{
		ButtonHandler buttonHandler = new ButtonHandler();
		m_btnSetLanguage.setOnClickListener(buttonHandler);
		m_btnComeBack.setOnClickListener(buttonHandler);
	}
	
	////////////////////////////////////////////////////////////////////////////////////////////////////
												// Constructors, Support Methods and Override Methods //
	////////////////////////////////////////////////////////////////////////////////////////////////////
	
	
	
	
	
	////////////////////////////////////////////////////////////////////////////////////////////////////
	// Support class and methods //
	////////////////////////////////////////////////////////////////////////////////////////////////////
	private class ButtonHandler implements OnClickListener
	{
		@Override
		public void onClick(View v) 
		{
			if (v == m_btnSetLanguage)
			{
				UIUtilities.changedLanguage(Setting.this, "en-us", new ILanguage() 
				{	
					@Override
					public void updateLanguage() 
					{
						// TODO Auto-generated method stub
						m_btnComeBack.setText(R.string.const_btnComeBack);
						m_btnSetLanguage.setText(R.string.Setting_btnSetLanguage);
						
						if (m_actvtyParent instanceof MainActivity) 
						{
							MainActivity mainActivity = (MainActivity) m_actvtyParent;
//							mainActivity.updateLanguage();
							
							mainActivity.recreate();
						}
												
					}
				});
			}// end m_btnSetLanguage
			
			else if (v == m_btnComeBack)
			{
				finish();
			}
			
		}
		
	}

	////////////////////////////////////////////////////////////////////////////////////////////////////
																		 // Support class and methods //
	////////////////////////////////////////////////////////////////////////////////////////////////////
}
